home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CICA 1993 April
/
CICA MS Windows - April 1993.iso
/
unzipped
/
util
/
sabdu201
/
sabdu001.txt
< prev
next >
Wrap
Text File
|
1992-11-01
|
65KB
|
1,862 lines
>>SABDU001
------------------ SABDU001.DLL API: OverView ------------------------
Dynamic Load Library Routines
The SABDU001 Dynameic Load Library contains a set of routines for
creating and manipulating diskette type objects. The sets of routines
are:
DiskDrive This are the ones that are usually used.
They operate at the logical level.
DDrive Drive object
FDrive File object
MDrive Memory object
VDrive Virtual object
DebugOut Debugging routines
HandleStatus Callback routine used to communicate
progress during long running operations
(i.e. formatting a diskette) and status.
>>DDrive
------------------ SABDU001.DLL API: DDrive objects ------------------
A DDrive (Diskette Drive) is a specialized version of the VDrive
(Virtual Drive). It is an object that represents a physical drive.
The following functions are available to manipulate it:
DDriveCreate Creates a DDrive object
DDriveDelete Deletes a DDrive object
DDriveFormatTrack Formats a track
DDriveForceReset Issues a reset to the drive
DDriveReadSectors Reads a group of sectors from the drive
DDriveReset Issues a reset to the drive if it was used
DDriveSetRead Sets up for reading from the drive
DDriveSetWrite Sets up for writing to the drive
DDriveWriteSectors Writes a group of sectors to the drive
>>DDriveCreate
------------------ SABDU001.DLL API: DDriveCreate --------------------
VOID far * FAR PASCAL DDriveCreate (
char cDrive
)
Creates a DDrive object associated with drive cDrive and returns a
pointer to it.
Example:
VOID far *pDriveA ;
pDriveA = DDriveCreate ( 'A' ) ;
>>DDriveDelete
------------------ SABDU001.DLL API: DDriveDelete --------------------
VOID FAR PASCAL DDriveDelete (
pDDrive
)
Deletes the DDrive object pointed to by pDDrive.
Example:
VOID far *pDriveA ;
pDriveA = DDriveCreate ( 'A' ) ;
...
DDriveDelete ( pDriveA ) ;
pDriveA = NULL ;
>>DDriveSetRead
------------------ SABDU001.DLL API: DDriveSetRead -------------------
UINT FAR PASCAL DDriveSetRead (
VOID far *pDDrive,
UINT nTempType,
UINT nCylinders
)
Prepares the DDrive object pointed to by pDDrive for reading.
nTempType defines the type of diskette expected:
FD0360 FD0720 FD1200 FD1440 FD2880
nCylinders defines the number of cylinders.
Example:
VOID far *pDriveA ;
pDriveA = DDriveCreate ( 'A' ) ;
...
DDriveSetRead ( pDriveA, FD0360, NULL ) ;
>>DDriveSetWrite
------------------ SABDU001.DLL API: DDriveSetWrite ------------------
UINT FAR PASCAL DDriveSetWrite (
VOID far *pDDrive,
UINT nTempType,
UINT nCylinders
)
Prepares the DDrive object pointed to by pDDrive for writing.
nTempType defines the type of diskette expected:
FD0360 FD0720 FD1200 FD1440 FD2880
nCylinders defines the number of cylinders.
Example:
VOID far *pDriveA ;
pDriveA = DDriveCreate ( 'A' ) ;
...
DDriveSetWrite ( pDriveA, FD0360, NULL ) ;
>>DDriveReset
------------------ SABDU001.DLL API: DDriveReset ---------------------
UINT FAR PASCAL DDriveReset (
VOID far *pDDrive
)
Resets the DDrive object pointed to by pDDrive.
Example:
VOID far *pDriveA ;
pDriveA = DDriveCreate ( 'A' ) ;
...
DDriveReset ( pDriveA ) ;
>>DDriveForceReset
------------------ SABDU001.DLL API: DDriveForceReset ----------------
UINT FAR PASCAL DDriveForceReset (
VOID far *pDDrive
)
Resets the DDrive object pointed to by pDDrive.
Example:
VOID far *pDriveA ;
pDriveA = DDriveCreate ( 'A' ) ;
...
DDriveForceReset ( pDriveA ) ;
>>DDriveFormatTrack
------------------ SABDU001.DLL API: DDriveFormatTrack ---------------
UINT FAR PASCAL DDriveForceReset (
VOID far *pDDrive,
UNIT nCylinder,
UNIT nHead
)
Formats the track pointed to by DDrive object pointer
Example:
VOID far *pDriveA ;
pDriveA = DDriveCreate ( pDriveA ) ;
...
DDriveFormatTrack ( pDriveA, nCylinder, nHead ) ;
>>DDriveReadSectors
------------------ SABDU001.DLL API: DDriveReadSectors ---------------
UINT FAR PASCAL DDriveReadSectors (
VOID far *pDDrive,
UNIT nCylinder,
UNIT nHead,
UINT nSector,
UINT nCount,
LPBYTE lpcBuffer
)
Reads a group of sectors from the drive pointerd to by pDDrive
nCylinder Cylinder to read from
nHead Head to read with
nSector Starting sector
nCount Number of sectors to read
lpcBuffer Buffer to contain the data read.
Example:
VOID far *pDriveA ;
pDriveA = DDriveCreate ( pDriveA ) ;
...
DDriveReadSectors ( pDriveA, nCylinder, nHead, nSector,
nCount, lpcBuffer ) ;
>>DDriveWriteSectors
------------------ SABDU001.DLL API: DDriveWriteSectors --------------
UINT FAR PASCAL DDriveWriteSectors (
VOID far *pDDrive,
UNIT nCylinder,
UNIT nHead,
UINT nSector,
UINT nCount,
LPBYTE lpcBuffer
)
Writes a group of sectors from the drive pointerd to by pDDrive
nCylinder Cylinder to read from
nHead Head to read with
nSector Starting sector
nCount Number of sectors to read
lpcBuffer Buffer to contain the data read.
Example:
VOID far *pDriveA ;
pDriveA = DDriveCreate ( pDriveA ) ;
...
DDriveWriteSectors ( pDriveA, nCylinder, nHead, nSector,
nCount, lpcBuffer ) ;
>>DebugOut
------------------ SABDU001.DLL API: DebugOut objects ----------------
A DebugOut object is a debugging aid:
The following functions are available to manipulate it:
DebugOutCreate Creates debug object
DebugOutOutputIf Outputs a message
DebugOutScan Scans command line for control information
DebugOutczDebugBuffer Returns pointer to debug buffer
>>DebugOutCreate
------------------ SABDU001.DLL API: DebugOutCreate ------------------
VOID far * FAR PASCAL CEXPORT DebugOutCreate (
LPCSTR lpczCmdLine
) ;
Command line:
[/Dxxxxxxxx [/Myyyyyyyy] [/Ffilename]]
xxxxxxxx is a hex string each bit of which can be used to control
the sending of trace messages
yyyyyyyy is a hex string each bit of which indicates if a control
message should be displayed in a MessageBox
filename trace file name
Returns a pointer to a debug object.
>>DebugOutScan
------------------ SABDU001.DLL API: DebugOutScan --------------------
VOID FAR PASCAL CEXPORT DebugOutScan (
LPCSTR lpczCmdLine
) ;
Command line:
[/Dxxxxxxxx [/Myyyyyyyy] [/Ffilename]]
xxxxxxxx is a hex string each bit of which can be used to control
the sending of trace messages
yyyyyyyy is a hex string each bit of which indicates if a control
message should be displayed in a MessageBox
filename trace file name
>>DebugOutOutputIf
------------------ SABDU001.DLL API: DebugOutOutputIf ----------------
VOID FAR PASCAL CEXPORT DebugOutOutputIf (
unsigned long ulDFlag,
LPCSTR lpczText,
LPCSTR lpczTitle,
UINT nMFlags
) ;
ulDFlag is matched with /D and /M from command line to determine if
message should be output to trace or displayed in a MessageBox.
lpczText pointer to text of trace message
lpczTitle pointer to title of trace message
nMFlags MessageBox flags
>>DebugOutczDebugBuffer
------------------ SABDU001.DLL API: DebugOutczDebugBuffer -----------
char far * FAR PASCAL CEXPORT DebugOutczDebugBuffer (
VOID
) ;
Returns pointer to debug buffer that can be used to format messages.
>>DiskDrive
------------------ SABDU001.DLL API: DiskDrive objects ---------------
A DiskDrive is a wrapper that encapsolates a virtual (VDrive) object
and provides all of the functions needed to manipulate it
The following functions are available to manipulate it:
DiskDriveCompare Compares two DiskDrive objects
DiskDriveCopy Copies a DiskDrive object
DiskDriveCreateDrive Creates a DiskDrive object
DiskDriveCreateFile Creates a DiskDrive object
DiskDriveCreateMemory Creates a DiskDrive object
DiskDriveCreateVDrive Creates a DiskDrive object
DiskDriveDelete Deletes a DiskDrive object
DiskDriveForceReset Forces a reset of the assocated VDrive
DiskDriveFormat Formats a DiskDrive object
DiskDriveFormatTrack Formats a track
DiskDriveGetVolumeSerial Gets the volume serial
DiskDriveHasData Returns TRUE if object valid
DiskDriveLetter Returns DiskDrive object letter
DiskDriveReadSectors Reads a group of sectors from DiskDrive
DiskDriveReset Resets the associated VDrive if used
DiskDriveSetRead Sets the associated VDrive for reading
DiskDriveSetType Sets the type (density) of VDrive
DiskDriveSetVolumeSerial Sets the volume serial
DiskDriveSetWrite Sets the associated VDrive for writing
DiskDriveSetWriteFormatOption Turns on/off WriteFormatOption
DiskDriveSetWriteVerifyOption Turns on/off WriteVerifyOption
DiskDriveTruncate Sets truncation mode on
DiskDriveTruncateReverse Sets truncation mode off
DiskDriveType Returns type (density)
DiskDriveUsedCylinders Returns cylinders used
DiskDriveUsedHeads Returns heads used
DiskDriveUsedSectorSize Returns sector size
DiskDriveUsedSectors Returns sectors used
DiskDriveWriteBootSector Writes boot sector of DiskDrive
DiskDriveWriteSectors Writes a group of sectors to DiskDrive
>>DiskDriveCreateDrive
------------------ SABDU001.DLL API: DiskDriveCreateDrive ------------
UINT FAR PASCAL DiskDriveCreateDrive (
char cDrive
UINT nType,
UINT nCylinders,
lpfnHANDLESTATUS lpfnNewHandleStatus
)
nType = FD0360
FD0720
FD1200
FD1200H
FD1440
FD1440H
FD2880
lpfnNewHandleStatus points to a callback routine that handles event
notifications including errors.
Creates a DiskDrive object using a physical drive as the base for the
VDrive object within it.
Returns pointer to DiskDrive object.
Example:
VOID far *pDiskDriveA ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pDiskDriveA = DiskDriveCreateDrive (
'A',
FD1200,
80,
lpfnNewHandleStatus
)
>>DiskDriveCreateMemory
------------------ SABDU001.DLL API: DiskDriveCreateMemory -----------
UINT FAR PASCAL DiskDriveCreateMemory (
UINT nMemory
UINT nType,
UINT nCylinders,
lpfnHANDLESTATUS lpfnNewHandleStatus
)
nType = FD0360
FD0720
FD1200
FD1200H
FD1440
FD1440H
FD2880
lpfnNewHandleStatus points to a callback routine that handles event
notifications including errors.
Creates a DiskDrive object using a memory object as the base for the
VDrive object within it.
Returns pointer to DiskDrive object.
Example:
VOID far *pDiskDriveA ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pDiskDriveA = DiskDriveCreateMemory (
1,
FD1200,
80,
lpfnNewHandleStatus
)
>>DiskDriveCreateFile
------------------ SABDU001.DLL API: DiskDriveCreateFile -------------
UINT FAR PASCAL DiskDriveCreateFile (
LPCSTR lpczFileName,
LPCSTR lpczApplicationTitle,
LPCSTR lpczVersion,
UINT nType,
UINT nCylinders,
lpfnHANDLESTATUS lpfnNewHandleStatus
)
nType = FD0360
FD0720
FD1200
FD1200H
FD1440
FD1440H
FD2880
lpfnNewHandleStatus points to a callback routine that handles event
notifications including errors.
Creates a DiskDrive object using a file object as the base for the
VDrive object within it.
Returns pointer to DiskDrive object.
Example:
VOID far *pDiskDriveA ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pDiskDriveA = DiskDriveCreateFile (
"FileName.SD",
"SAB Diskette Utility",
"2.00",
FD1200,
80,
lpfnNewHandleStatus
)
>>DiskDriveCreateVDrive
------------------ SABDU001.DLL API: DiskDriveCreateVDrive -----------
UINT FAR PASCAL DiskDriveCreateVDrive (
VOID far * pVDrive,
UINT nType,
UINT nCylinders,
lpfnHANDLESTATUS lpfnNewHandleStatus
)
nType = FD0360
FD0720
FD1200
FD1200H
FD1440
FD1440H
FD2880
lpfnNewHandleStatus points to a callback routine that handles event
notifications including errors.
Creates a DiskDrive object using a virtual drive object as the
base for the VDrive object within it.
Returns pointer to DiskDrive object.
Example:
VOID far *pDiskDriveA ;
VOID far *pVDriveA ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateFile (
pVDriveA,
FD1200,
80,
lpfnNewHandleStatus
)
>>DiskDriveDelete
------------------ SABDU001.DLL API: DiskDriveDelete -----------------
UINT FAR PASCAL DiskDriveDelete (
VOID far * pVDrive,
)
Deletes a DiskDrive object.
Example:
VOID far *pDiskDriveA ;
VOID far *pVDriveA ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateFile (
pVDriveA,
FD1200,
80,
lpfnNewHandleStatus
)
...
DiskDriveDelete ( pDiskDriveA ) ;
pDiskDriveA = NULL ;
>>DiskDriveCopy
------------------ SABDU001.DLL API: DiskDriveCopy -------------------
UINT FAR PASCAL DiskDriveCopy (
VOID far * pDiskDriveTarget,
VOID far * pDiskDriveSource
)
Copies a DiskDrive object ;
Example:
VOID far *pDiskDriveA ;
VOID far *pDiskDriveB ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0,
lpfnNewHandleStatus ) ;
pDiskDriveB = DiskDriveCreateDrive ( 'B',
DiskDriveType( pDiskDriveA ),
0, lpfnNewHandleStatus ) ;
DiskDriveCopy ( pDiskDriveB, pDiskDriveA ) ;
>>DiskDriveCompare
------------------ SABDU001.DLL API: DiskDriveCompare ----------------
UINT FAR PASCAL DiskDriveCompare (
VOID far * pDiskDriveTarget,
VOID far * pDiskDriveSource
)
Compares two DiskDrive objects.
Returns TRUE if they are the same.
Example:
VOID far *pDiskDriveA ;
VOID far *pDiskDriveB ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0,
lpfnNewHandleStatus ) ;
pDiskDriveB = DiskDriveCreateDrive ( 'B',
DiskDriveType( pDiskDriveA ),
0, lpfnNewHandleStatus ) ;
DiskDriveCompare ( pDiskDriveB, pDiskDriveA ) ;
>>DiskDriveFormatTrack
------------------ SABDU001.DLL API: DiskDriveFormatTrack ------------
UINT FAR PASCAL DiskDriveFormatTrack (
VOID far * pDiskDrive,
UINT nCylinder,
UINT nHead,
lpfnHANDLESTATUS lpfnHandleStatus
)
Formats a track.
Returns FALSE if successfull
Example:
VOID far *pDiskDriveA ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1200, 80,
lpfnNewHandleStatus ) ;
DiskDriveFormatTrack ( pDiskDriveB, 0, 1,
lpfnNewHandleStatus ) ;
>>DiskDriveReadSectors
------------------ SABDU001.DLL API: DiskDriveReadSectors ------------
UINT FAR PASCAL DiskDriveReadSectors (
VOID far * pDiskDrive,
UINT nCylinder,
UINT nHead,
UINT nSector,
UINT nCount,
LPBYTE lpbyBuffer,
lpfnHANDLESTATUS lpfnHandleStatus
)
Reads a group of sectors.
Returns FALSE if successfull
Example:
VOID far *pDiskDriveA ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0,
lpfnNewHandleStatus ) ;
DiskDriveReadSectors ( pDiskDriveA, 0, 1, 0, 18,
lpfnNewHandleStatus ) ;
>>DiskDriveWriteSectors
------------------ SABDU001.DLL API: DiskDriveWriteSectors -----------
UINT FAR PASCAL DiskDriveWriteSectors (
VOID far * pDiskDrive,
UINT nCylinder,
UINT nHead,
UINT nSector,
UINT nCount,
LPBYTE lpbyBuffer,
lpfnHANDLESTATUS lpfnHandleStatus
)
Writes a group of sectors.
Returns FALSE if successfull
Example:
VOID far *pDiskDriveA ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1440, 0,
lpfnNewHandleStatus ) ;
DiskDriveWriteSectors ( pDiskDriveA, 0, 1, 0, 18,
lpfnNewHandleStatus ) ;
>>DiskDriveLetter
------------------ SABDU001.DLL API: DiskDriveWriteLetter ------------
UINT FAR PASCAL DiskDriveLetter (
VOID far * pDiskDrive,
)
Returns letter of virtual drive.
Example:
VOID far *pDiskDriveA ;
char cDriveLetter ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1440, 0,
lpfnNewHandleStatus ) ;
...
cDriveLetter = DiskDriveLetter ( pDiskDriveA ) ;
>>DiskDriveSetRead
------------------ SABDU001.DLL API: DiskDriveSetRead ---------------
UINT FAR PASCAL DiskDriveSetRead (
VOID far * pDiskDrive,
)
Sets contained virtual drive for reading.
Example:
VOID far *pDiskDriveA ;
char cDriveLetter ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1440, 0,
lpfnNewHandleStatus ) ;
...
DiskDriveSetRead ( pDiskDriveA ) ;
>>DiskDriveSetWrite
------------------ SABDU001.DLL API: DiskDriveSetWrite---------------
UINT FAR PASCAL DiskDriveSetWrite (
VOID far * pDiskDrive,
)
Sets contained virtual drive for writing.
Example:
VOID far *pDiskDriveA ;
char cDriveLetter ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1440, 0,
lpfnNewHandleStatus ) ;
...
DiskDriveSetWrite ( pDiskDriveA ) ;
>>DiskDriveSetWriteFormatOption
------------------ SABDU001.DLL API: DiskDriveSetWriteFormatOption --
UINT FAR PASCAL DiskDriveSetWriteFormatOption (
VOID far * pDiskDrive,
UINT nWriteFormatOptionNew
)
nWriteFormatOptionNew
1 AUTOMATIC
2 ALWAYS
3 NEVER
4 FAST
Sets write format option.
Example:
VOID far *pDiskDriveA ;
char cDriveLetter ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1440, 0,
lpfnNewHandleStatus ) ;
...
DiskDriveSetWriteFormatOption ( pDiskDriveA, AUTOMATIC ) ;
>>DiskDriveSetWriteVerifyOption
------------------ SABDU001.DLL API: DiskDriveSetWriteVerifyOption --
UINT FAR PASCAL DiskDriveSetWriteVerifyOption (
VOID far * pDiskDrive,
BOOL bWriteVerifyOptionNew
)
Sets write verify option.
Example:
VOID far *pDiskDriveA ;
char cDriveLetter ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1440, 0,
lpfnNewHandleStatus ) ;
...
DiskDriveSetWriteVerifyOption ( pDiskDriveA, TRUE ) ;
>>DiskDriveReset
------------------ SABDU001.DLL API: DiskDriveReset ------------------
UINT FAR PASCAL DiskDriveReset (
VOID far * pDiskDrive
)
Resets virtual drive
Example:
VOID far *pDiskDriveA ;
char cDriveLetter ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1440, 0,
lpfnNewHandleStatus ) ;
...
DiskDriveReset ( pDiskDriveA ) ;
>>DiskDriveForceReset
------------------ SABDU001.DLL API: DiskDriveForceReset -------------
UINT FAR PASCAL DiskDriveForceReset (
VOID far * pDiskDrive
)
Forces reset of virtual drive
Example:
VOID far *pDiskDriveA ;
char cDriveLetter ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1440, 0,
lpfnNewHandleStatus ) ;
...
DiskDriveForceReset ( pDiskDriveA ) ;
>>DiskDriveType
------------------ SABDU001.DLL API: DiskDriveType -------------------
UINT FAR PASCAL DiskDriveType (
VOID far * pDiskDrive
)
Returns type ( density ).
Example:
VOID far *pDiskDriveA ;
char cDriveLetter ;
FARPROC lpfnNewHandleStatus ;
UINT nType ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0,
lpfnNewHandleStatus ) ;
...
nType = DiskDriveType ( pDiskDriveA ) ;
>>DiskDriveHasData
------------------ SABDU001.DLL API: DiskDriveHasData ----------------
UINT FAR PASCAL DiskDriveHasData (
VOID far * pDiskDrive
)
Returns TRUE if DiskDrive is valid object.
Example:
VOID far *pDiskDriveA ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0,
lpfnNewHandleStatus ) ;
...
if ( DiskDriveHasData ( pDiskDriveA ) ) ...;
>>DiskDriveFormat
------------------ SABDU001.DLL API: DiskDriveFormat -----------------
UINT FAR PASCAL DiskDriveFormat (
VOID far * pDiskDrive,
LPCSTR lpczVolumeSerial,
UNIT nFormatOption,
LPBYTE lpbyBootSector,
lpfnHANDLESTATUS lpfnHandleStatus
)
Returns FALSE if successfull.
Example:
VOID far *pDiskDriveA ;
char cDriveLetter ;
FARPROC lpfnNewHandleStatus ;
UINT nType ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0,
lpfnNewHandleStatus ) ;
...
DiskDriveFormat ( pDiskDriveA, "VOL 1", FORMATFAST, NULL, NULL ) ;
>>DiskDriveSetType
------------------ SABDU001.DLL API: DiskDriveSetType ----------------
UINT FAR PASCAL DiskDriveSetType (
VOID far * pDiskDrive,
UINT nNewType
)
Example:
VOID far *pDiskDriveA ;
char cDriveLetter ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0,
lpfnNewHandleStatus ) ;
...
DiskDriveSetType ( pDiskDriveA, FD1200 ) ;
>>DiskDriveUsedCylinders
------------------ SABDU001.DLL API: DiskDriveUsedCylinders ----------
UINT FAR PASCAL DiskDriveUsedCylinders (
VOID far * pDiskDrive
)
Returns number of cylinders.
Example:
VOID far *pDiskDriveA ;
char cDriveLetter ;
FARPROC lpfnNewHandleStatus ;
UINT nCylinder ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0,
lpfnNewHandleStatus ) ;
...
nCylinder = DiskDriveUsedCylinders ( pDiskDriveA ) ;
>>DiskDriveUsedHeads
------------------ SABDU001.DLL API: DiskDriveHeads ------------------
UINT FAR PASCAL DiskDriveUsedHeads (
VOID far * pDiskDrive
)
Returns number of heads.
Example:
VOID far *pDiskDriveA ;
char cDriveLetter ;
FARPROC lpfnNewHandleStatus ;
UINT nHeads ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0,
lpfnNewHandleStatus ) ;
...
nHeads = DiskDriveUsedHeads ( pDiskDriveA ) ;
>>DiskDriveUsedSectors
------------------ SABDU001.DLL API: DiskDriveUsedSectors ------------
UINT FAR PASCAL DiskDriveUsedSectors (
VOID far * pDiskDrive
)
Returns number of sectors in a track.
Example:
VOID far *pDiskDriveA ;
char cDriveLetter ;
FARPROC lpfnNewHandleStatus ;
UINT nSectors ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0,
lpfnNewHandleStatus ) ;
...
nSectors = DiskDriveUsedSectors ( pDiskDriveA ) ;
>>DiskDriveUsedSectorSize
------------------ SABDU001.DLL API: DiskDriveUsedSectorSize----------
UINT FAR PASCAL DiskDriveUsedSectorSize (
VOID far * pDiskDrive
)
Returns sector size.
Example:
VOID far *pDiskDriveA ;
LPSTR *lpczOldVolumeSerial ;
FARPROC lpfnNewHandleStatus ;
UINT nSectorSize ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0,
lpfnNewHandleStatus ) ;
...
nSectorSize = DiskDriveUsedSectorSize ( pDiskDriveA ) ;
>>DiskDriveGetVolumeSerial
------------------ SABDU001.DLL API: DiskDriveGetVolumeSerial --------
UINT FAR PASCAL DiskDriveGetVolumeSerial (
VOID far * pDiskDrive,
LPSTR lpczOldVolumeSerial
)
Example:
VOID far *pDiskDriveA ;
char cDriveLetter ;
FARPROC lpfnNewHandleStatus ;
UINT nType ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0,
lpfnNewHandleStatus ) ;
...
DiskDriveGetVolumeSerial ( pDiskDriveA, lpczOldVolumeSerial ) ;
>>DiskDriveSetVolumeSerial
------------------ SABDU001.DLL API: DiskDriveSetVolumeSerial --------
UINT FAR PASCAL DiskDriveSetVolumeSerial (
VOID far * pDiskDrive,
LPSTR lpczNewVolumeSerial
)
Returns FALSE if successfull.
Example:
VOID far *pDiskDriveA ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0,
lpfnNewHandleStatus ) ;
...
DiskDriveSetVolumeSerial ( pDiskDriveA, "Vol 1" ) ;
>>DiskDriveTruncate
------------------ SABDU001.DLL API: DiskDriveTruncate ---------------
UINT FAR PASCAL DiskDriveTruncate (
VOID far * pDiskDrive
)
Turns on truncation.
Example:
VOID far *pDiskDriveA ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0,
lpfnNewHandleStatus ) ;
...
DiskDriveTypeTruncate ( pDiskDriveA ) ;
>>DiskDriveTruncateRevers
------------------ SABDU001.DLL API: DiskDriveTruncateReverse --------
UINT FAR PASCAL DiskDriveTruncateReverse (
VOID far * pDiskDrive
)
Turns off truncation.
Example:
VOID far *pDiskDriveA ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0,
lpfnNewHandleStatus ) ;
...
DiskDriveTruncateReverse ( pDiskDriveA ) ;
>>DiskDriveWriteBootSector
------------------ SABDU001.DLL API: DiskDriveWriteBootSector --------
UINT FAR PASCAL DiskDriveWriteBootSector (
VOID far * pDiskDrive,
lpbyModelBootSector,
lpfnHANDLESTATUS lpfnNewHandleStatus
)
Returns false if successfull.
Example:
VOID far *pDiskDriveA ;
FARPROC lpfnNewHandleStatus ;
lpfnNewHandleStatus = MakeProcInstance ( hInstance,
NewHandleStatus ) ;
pVDriveA = VDrive ( 'A' ) ;
pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0,
lpfnNewHandleStatus ) ;
...
DiskDriveTypeWriteBootSector ( pDiskDriveA, NULL, NULL ) ;
>>FDrive
------------------ SABDU001.DLL API: FDrive objects ------------------
A FDrive (File Drive) is a specialized version of the VDrive
(Virtual Drive). It is an object that represents a diskette image
file.
The following functions are available to manipulate it:
FDriveCreate Creates a FDrive object
FDriveDelete Deletes a FDrive object
FDriveForceReset Issues a reset to the drive
FDriveFormatTrack Formats a track
FDriveReadSectors Reads a group of sectors from the drive
FDriveReset Issues a reset to the drive if it was used
FDriveSetRead Sets up for reading from the drive
FDriveSetWrite Sets up for writing to the drive
FDriveWriteSectors Writes a group of sectors to the drive
>>FDriveCreate
------------------ SABDU001.DLL API: FDriveCreate --------------------
VOID far * FAR PASCAL FDriveCreate (
LPCSTR lpczFileName,
LPCSTR lpczApplicationTitle,
LPCSTR lpczVersion
)
Creates a FDrive object associated with drive cDrive and returns a
pointer to it.
Example:
VOID far *pDriveA ;
pDriveA = FDriveCreate ( 'A' ) ;
>>FDriveDelete
------------------ SABDU001.DLL API: FDriveDelete --------------------
VOID FAR PASCAL FDriveDelete (
pFDrive
)
Deletes the FDrive object pointed to by pFDrive.
Example:
VOID far *pDriveA ;
pDriveA = FDriveCreate ( 'A' ) ;
...
FDriveDelete ( pDriveA ) ;
pDriveA = NULL ;
>>FDriveSetRead
------------------ SABDU001.DLL API: FDriveSetRead -------------------
UINT FAR PASCAL FDriveSetRead (
VOID far *pFDrive,
UINT nTempType,
UINT nCylinders
)
Prepares the FDrive object pointed to by pFDrive for reading.
nTempType defines the type of diskette expected:
FD0360 FD0720 FD1200 FD1440 FD2880
nCylinders defines the number of cylinders.
Example:
VOID far *pDriveA ;
pDriveA = FDriveCreate ( 'A' ) ;
...
FDriveSetRead ( pDriveA, FD0360, NULL ) ;
>>FDriveSetWrite
------------------ SABDU001.DLL API: FDriveSetWrite ------------------
UINT FAR PASCAL FDriveSetWrite (
VOID far *pFDrive,
UINT nTempType,
UINT nCylinders
)
Prepares the FDrive object pointed to by pFDrive for writing.
nTempType defines the type of diskette expected:
FD0360 FD0720 FD1200 FD1440 FD2880
nCylinders defines the number of cylinders.
Example:
VOID far *pDriveA ;
pDriveA = FDriveCreate ( 'A' ) ;
...
FDriveSetWrite ( pDriveA, FD0360, NULL ) ;
>>FDriveReset
------------------ SABDU001.DLL API: FDriveReset ---------------------
UINT FAR PASCAL FDriveReset (
VOID far *pFDrive
)
Resets the FDrive object pointed to by pFDrive.
Example:
VOID far *pDriveA ;
pDriveA = FDriveCreate ( 'A' ) ;
...
FDriveReset ( pDriveA ) ;
>>FDriveForceReset
------------------ SABDU001.DLL API: FDriveForceReset ----------------
UINT FAR PASCAL FDriveForceReset (
VOID far *pFDrive
)
Resets the FDrive object pointed to by pFDrive.
Example:
VOID far *pDriveA ;
pDriveA = FDriveCreate ( 'A' ) ;
...
FDriveForceReset ( pDriveA ) ;
>>FDriveFormatTrack
------------------ SABDU001.DLL API: FDriveFormatTrack ---------------
UINT FAR PASCAL FDriveForceReset (
VOID far *pFDrive,
UNIT nCylinder,
UNIT nHead
)
Formats the track pointed to by FDrive object pointer
Example:
VOID far *pDriveA ;
pDriveA = FDriveCreate ( pDriveA ) ;
...
FDriveFormatTrack ( pDriveA, nCylinder, nHead ) ;
>>FDriveReadSectors
------------------ SABDU001.DLL API: FDriveReadSectors ---------------
UINT FAR PASCAL FDriveReadSectors (
VOID far *pFDrive,
UNIT nCylinder,
UNIT nHead,
UINT nSector,
UINT nCount,
LPBYTE lpcBuffer
)
Reads a group of sectors from the drive pointerd to by pFDrive
nCylinder Cylinder to read from
nHead Head to read with
nSector Starting sector
nCount Number of sectors to read
lpcBuffer Buffer to contain the data read.
Example:
VOID far *pDriveA ;
pDriveA = FDriveCreate ( pDriveA ) ;
...
FDriveReadSectors ( pDriveA, nCylinder, nHead, nSector,
nCount, lpcBuffer ) ;
>>FDriveWriteSectors
------------------ SABDU001.DLL API: FDriveWriteSectors --------------
UINT FAR PASCAL FDriveWriteSectors (
VOID far *pFDrive,
UNIT nCylinder,
UNIT nHead,
UINT nSector,
UINT nCount,
LPBYTE lpcBuffer
)
Writes a group of sectors from the drive pointerd to by pFDrive
nCylinder Cylinder to read from
nHead Head to read with
nSector Starting sector
nCount Number of sectors to read
lpcBuffer Buffer to contain the data read.
Example:
VOID far *pDriveA ;
pDriveA = FDriveCreate ( pDriveA ) ;
...
FDriveWriteSectors ( pDriveA, nCylinder, nHead, nSector,
nCount, lpcBuffer ) ;
>>HandleStatus
------------------ SABDU001.DLL Callback: HandleStatus ---------------
typedef int (FAR PASCAL __export * lpfnHANDLESTATUS)(
UINT nStatus1,
UINT nStatus2,
UINT nParam1,
UINT nParam2,
LONG lParam1,
LONG lParam2
) ;
int FAR PASCAL __export HandleStatus (
UINT nStatus1,
UINT nStatus2,
UINT nParam1,
UINT nParam2,
LONG lParam1,
LONG lParam2
) ;
nStatus1
-------------------
nStatus2 nParam1 nParam2
--------------------------- --------------------- --------------------
lParam1 lParam2
--------------------- ---------------
STATUS1_INIT hWnd hInstance
STATUS1_START
STATUS1_BOOT_SECTOR
STATUS1_DIRECTORY
STATUS1_FAT
STATUS1_SYSTEM_FILE
STATUS1_CYLINDER cylinder percent complete
STATUS1_HEAD
STATUS1_END
STATUS1_ERROR
STATUS2_FILE STATUS3_OPEN_FAIL
file name pointer
STATUS2_FILE STATUS3_OPEN_FILE_IO_ERROR
file name pointer
STATUS2_FILE STATUS3_OPEN_INPUT_BAD
file name pointer
STATUS2_FILE STATUS3_OPEN_FLAGS_BAD
file name pointer
STATUS2_FILE STATUS3_OPEN_NOT_SUPPORTED
file name pointer
STATUS2_READ cylinder head
STATUS2_WRITE cylinder head
STATUS2_FORMAT cylinder head
STATUS2_FILE_READ
file name pointer
STATUS2_FILE_WRITE
file name pointer
STATUS2_DISK_SPACE
space needed space available
STATUS2_HEAD cylinder head
STATUS2_MEMORY
STATUS2_SYSTEM
STATUS2_FAT
STATUS2_DIRECTORY
STATUS2_BOOT_SECTOR
STATUS2_SYSTEM_FILE_MISSING
STATUS2_SYSTEM_FILE_OPEN
STATUS2_COMPARE cylinder head
STATUS2_DPT
>>MDrive
------------------ SABDU001.DLL API: MDrive objects ------------------
A MDrive (Memory Drive) is a specialized version of the VDrive
(Virtual Drive). It is an object that represents a diskette image in
memory.
The following functions are available to manipulate it:
MDriveCreate Creates a MDrive object
MDriveDelete Deletes a MDrive object
MDriveForceReset Issues a reset to the drive
MDriveFormatTrack Formats a track
MDriveReadSectors Reads a group of sectors from the drive
MDriveReset Issues a reset to the drive if it was used
MDriveSetRead Sets up for reading from the drive
MDriveSetWrite Sets up for writing to the drive
MDriveWriteSectors Writes a group of sectors to the drive
>>MDriveCreate
------------------ SABDU001.DLL API: MDriveCreate --------------------
VOID far * FAR PASCAL MDriveCreate (
UINT nMemory
)
Creates a MDrive object associated with identifier nMemory and
returns a pointer to it.
Example:
VOID far *pDriveA ;
pDriveA = MDriveCreate ( 1 ) ;
>>MDriveDelete
------------------ SABDU001.DLL API: MDriveDelete --------------------
VOID FAR PASCAL MDriveDelete (
pMDrive
)
Deletes the MDrive object pointed to by pMDrive.
Example:
VOID far *pDriveA ;
pDriveA = MDriveCreate ( 'A' ) ;
...
MDriveDelete ( pDriveA ) ;
pDriveA = NULL ;
>>MDriveSetRead
------------------ SABDU001.DLL API: MDriveSetRead -------------------
UINT FAR PASCAL MDriveSetRead (
VOID far *pMDrive,
UINT nTempType,
UINT nCylinders
)
Prepares the MDrive object pointed to by pMDrive for reading.
nTempType defines the type of diskette expected:
FD0360 FD0720 FD1200 FD1440 FD2880
nCylinders defines the number of cylinders.
Example:
VOID far *pDriveA ;
pDriveA = MDriveCreate ( 'A' ) ;
...
MDriveSetRead ( pDriveA, FD0360, NULL ) ;
>>MDriveSetWrite
------------------ SABDU001.DLL API: MDriveSetWrite ------------------
UINT FAR PASCAL MDriveSetWrite (
VOID far *pMDrive,
UINT nTempType,
UINT nCylinders
)
Prepares the MDrive object pointed to by pMDrive for writing.
nTempType defines the type of diskette expected:
FD0360 FD0720 FD1200 FD1440 FD2880
nCylinders defines the number of cylinders.
Example:
VOID far *pDriveA ;
pDriveA = MDriveCreate ( 'A' ) ;
...
MDriveSetWrite ( pDriveA, FD0360, NULL ) ;
>>MDriveReset
------------------ SABDU001.DLL API: MDriveReset ---------------------
UINT FAR PASCAL MDriveReset (
VOID far *pMDrive
)
Resets the MDrive object pointed to by pMDrive.
Example:
VOID far *pDriveA ;
pDriveA = MDriveCreate ( 'A' ) ;
...
MDriveReset ( pDriveA ) ;
>>MDriveForceReset
------------------ SABDU001.DLL API: MDriveForceReset ----------------
UINT FAR PASCAL MDriveForceReset (
VOID far *pMDrive
)
Resets the MDrive object pointed to by pMDrive.
Example:
VOID far *pDriveA ;
pDriveA = MDriveCreate ( 'A' ) ;
...
MDriveForceReset ( pDriveA ) ;
>>MDriveFormatTrack
------------------ SABDU001.DLL API: MDriveFormatTrack ---------------
UINT FAR PASCAL MDriveForceReset (
VOID far *pMDrive,
UNIT nCylinder,
UNIT nHead
)
Formats the track pointed to by MDrive object pointer
Example:
VOID far *pDriveA ;
pDriveA = MDriveCreate ( pDriveA ) ;
...
MDriveFormatTrack ( pDriveA, nCylinder, nHead ) ;
>>MDriveReadSectors
------------------ SABDU001.DLL API: MDriveReadSectors ---------------
UINT FAR PASCAL MDriveReadSectors (
VOID far *pMDrive,
UNIT nCylinder,
UNIT nHead,
UINT nSector,
UINT nCount,
LPBYTE lpcBuffer
)
Reads a group of sectors from the drive pointerd to by pMDrive
nCylinder Cylinder to read from
nHead Head to read with
nSector Starting sector
nCount Number of sectors to read
lpcBuffer Buffer to contain the data read.
Example:
VOID far *pDriveA ;
pDriveA = MDriveCreate ( pDriveA ) ;
...
MDriveReadSectors ( pDriveA, nCylinder, nHead, nSector,
nCount, lpcBuffer ) ;
>>MDriveWriteSectors
------------------ SABDU001.DLL API: MDriveWriteSectors --------------
UINT FAR PASCAL MDriveWriteSectors (
VOID far *pMDrive,
UNIT nCylinder,
UNIT nHead,
UINT nSector,
UINT nCount,
LPBYTE lpcBuffer
)
Writes a group of sectors from the drive pointerd to by pMDrive
nCylinder Cylinder to read from
nHead Head to read with
nSector Starting sector
nCount Number of sectors to read
lpcBuffer Buffer to contain the data read.
Example:
VOID far *pDriveA ;
pDriveA = MDriveCreate ( pDriveA ) ;
...
MDriveWriteSectors ( pDriveA, nCylinder, nHead, nSector,
nCount, lpcBuffer ) ;
>>VDrive
------------------ SABDU001.DLL API: VDrive objects ------------------
A VDrive (Virtual Drive) is an object that represents a diskette
image.
The following functions are available to manipulate it:
VDriveFlag Returns the flags for the virtual drive
VDriveForceReset Forces a reset of the virtual drive
VDriveFormatTrack Formats a track
VDriveIsRemote Returns TRUE if media is remote
VDriveIsRemovable Returns TRUE if media is removable
VDriveIsUseable Returns TRUE if media is useable
VDriveIsUsed Returns TRUE if virtual drive was used
VDriveLetter Returns letter of vitual drive
VDriveNumberOfCylinders Returns number of cylinders
VDriveNumberOfHeads Returns number of heads
VDriveNumberOfSectors Returns number of sectors
VDriveReadSectors Reads a group of sectors from the vitual drive
VDriveReset Resets the virtual drive if it was used
VDriveSetRead Sets up the virtual drive for reading
VDriveSetType Sets the type (density) of the virtual drive
VDriveSetWrite Sets up the virtual drive for writing
VDriveType Returns the type (density) of the virtual drive
VDriveWriteSectors Writes a group of sectors to the virutal drive
>>VDriveSetType
------------------ SABDU001.DLL API: VDriveSetType -------------------
UINT FAR PASCAL VDriveSetType (
VOID far *pCVDrive,
UINT nType
)
Sets the type (density) for the virtual drive.
nType = FD0360
FD0720
FD1200
FD1200H
FD1440
FD1440H
FD2880
Returns nType if successfull or FD0000 if not.
Example:
VOID far *pDriveA ;
VDriveSetType ( pDriveA, FD0720 ) ;
>>VDriveLetter
------------------ SABDU001.DLL API: VDriveLetter --------------------
char FAR PASCAL VDriveLetter (
VOID far *pCVDrive
)
Returns the drive letter.
Example:
VOID far *pDriveA ;
char cDrive ;
cDrive = VDriveLetter ( pDriveA ) ;
>>VDriveType
------------------ SABDU001.DLL API: VDriveType ----------------------
UINT FAR PASCAL VDriveType (
VOID far *pCVDrive
)
Returns the drive type (density).
Example:
VOID far *pDriveA ;
UINT nType ;
nType = VDriveType ( pDriveA ) ;
>>VDriveFlag
------------------ SABDU001.DLL API: VDriveFlag ----------------------
UINT FAR PASCAL VDriveFlag (
VOID far *pCVDrive
)
Returns the drive flag.
Example:
VOID far *pDriveA ;
UINT nFlag ;
nFlag = VDriveFlag ( pDriveA ) ;
>>VDriveNumberOfCylinders
------------------ SABDU001.DLL API: VDriveNumberOfCylinders ---------
UINT FAR PASCAL VDriveNumberOfCylinders (
VOID far *pCVDrive
)
Returns the number of cylinders.
Example:
VOID far *pDriveA ;
UINT nCylinders ;
nCylinders = VDriveNumberOfCylinders ( pDriveA ) ;
>>VDriveNumberOfHeads
------------------ SABDU001.DLL API: VDriveNumberOfHeads -------------
UINT FAR PASCAL VDriveNumberOfHeads (
VOID far *pCVDrive
)
Returns the number of heads.
Example:
VOID far *pDriveA ;
UINT nHeads ;
nHeads = VDriveNumberOfHeads ( pDriveA ) ;
>>VDriveNumberOfSectors
------------------ SABDU001.DLL API: VDriveNumberOfSectors -----------
UINT FAR PASCAL VDriveNumberOfSectors (
VOID far *pCVDrive
)
Returns the number of sectors.
Example:
VOID far *pDriveA ;
UINT nSectors ;
nSectors = VDriveNumberOfSectors ( pDriveA ) ;
>>VDriveIsRemote
------------------ SABDU001.DLL API: VDriveIsRemote ------------------
BOOL FAR PASCAL VDriveIsRemote (
VOID far *pCVDrive
)
Returns TRUE if the media is remote.
Example:
VOID far *pDriveA ;
BOOL bRemote ;
bRemote = VDriveIsRemote ( pDriveA ) ;
>>VDriveIsRemovable
------------------ SABDU001.DLL API: VDriveIsRemovable ---------------
BOOL FAR PASCAL VDriveIsRemovable (
VOID far *pCVDrive
)
Returns TRUE if the media is removable.
Example:
VOID far *pDriveA ;
BOOL bRemovable ;
bRemovable = VDriveIsRemovable ( pDriveA ) ;
>>VDriveIsUseable
------------------ SABDU001.DLL API: VDriveIsUseable -----------------
BOOL FAR PASCAL VDriveIsUseable (
VOID far *pCVDrive
)
Returns TRUE if the media is useable.
Example:
VOID far *pDriveA ;
BOOL bUseable ;
bUseable = VDriveIsUseable ( pDriveA ) ;
>>VDriveIsUsed
------------------ SABDU001.DLL API: VDriveIsUsed --------------------
BOOL FAR PASCAL VDriveIsUsead (
VOID far *pCVDrive
)
Returns TRUE if the media is used.
Example:
VOID far *pDriveA ;
BOOL bUsed ;
bUsed = VDriveIsUsed ( pDriveA ) ;
>>VDriveReset
------------------ SABDU001.DLL API: VDriveReset ---------------------
UINT FAR PASCAL VDriveReset (
VOID far *pCVDrive
)
Returns FALSE if successfull.
Example:
VOID far *pDriveA ;
BOOL bReset ;
bReset = !VDriveReset ( pDriveA ) ;
>>VDriveFormatTrack
------------------ SABDU001.DLL API: VDriveFormatTrack ---------------
UINT FAR PASCAL VDriveFormatTrack (
VOID far *pCVDrive,
UINT nCylinder,
UINT nHead
)
Returns FALSE if successfull.
Example:
VOID far *pDriveA ;
BOOL bFormat ;
bReset = !VDriveFormatTrack ( pDriveA, nCylinder, nHead ) ;
>>VDriveReadSectors
------------------ SABDU001.DLL API: VDriveReadSectors ---------------
UINT FAR PASCAL VDriveReadSectors (
VOID far *pCVDrive,
UINT nCylinder,
UINT nHead
)
Returns FALSE if successfull.
Example:
VOID far *pDriveA ;
BOOL bRead ;
bRead = !VDriveReadSectors ( pDriveA, nCylinder, nHead,
nSector, nCount, LPBYTE lpcBuffer ) ;
>>VDriveWriteSectors
------------------ SABDU001.DLL API: VDriveWriteSectors --------------
UINT FAR PASCAL VDriveWriteSectors (
VOID far *pCVDrive,
UINT nCylinder,
UINT nHead
)
Returns FALSE if successfull.
Example:
VOID far *pDriveA ;
BOOL bWrite ;
bWrite = !VDriveWriteSectors ( pDriveA, nCylinder, nHead,
nSector, nCount, LPBYTE lpcBuffer ) ;